63 research outputs found

    Using program behaviour to exploit heterogeneous multi-core processors

    Get PDF
    Multi-core CPU architectures have become prevalent in recent years. A number of multi-core CPUs consist of not only multiple processing cores, but multiple different types of processing cores, each with different capabilities and specialisations. These heterogeneous multi-core architectures (HMAs) can deliver exceptional performance; however, they are notoriously difficult to program effectively. This dissertation investigates the feasibility of ameliorating many of the difficulties encountered in application development on HMA processors, by employing a behaviour aware runtime system. This runtime system provides applications with the illusion of executing on a homogeneous architecture, by presenting a homogeneous virtual machine interface. The runtime system uses knowledge of a program's execution behaviour, gained through explicit code annotations, static analysis or runtime monitoring, to inform its resource allocation and scheduling decisions, such that the application makes best use of the HMA's heterogeneous processing cores. The goal of this runtime system is to enable non-specialist application developers to write applications that can exploit an HMA, without the developer requiring in-depth knowledge of the HMA's design. This dissertation describes the development of a Java runtime system, called Hera-JVM, aimed at investigating this premise. Hera-JVM supports the execution of unmodified Java applications on both processing core types of the heterogeneous IBM Cell processor. An application's threads of execution can be transparently migrated between the Cell's different core types by Hera-JVM, without requiring the application's involvement. A number of real-world Java benchmarks are executed across both of the Cell's core types, to evaluate the efficacy of abstracting a heterogeneous architecture behind a homogeneous virtual machine. By characterising the performance of each of the Cell processor's core types under different program behaviours, a set of influential program behaviour characteristics is uncovered. A set of code annotations are presented, which enable program code to be tagged with these behaviour characteristics, enabling a runtime system to track a program's behaviour throughout its execution. This information is fed into a cost function, which Hera-JVM uses to automatically estimate whether the executing program's threads of execution would benefit from being migrated to a different core type, given their current behaviour characteristics. The use of history, hysteresis and trend tracking, by this cost function, is explored as a means of increasing its stability and limiting detrimental thread migrations. The effectiveness of a number of different migration strategies is also investigated under real-world Java benchmarks, with the most effective found to be a strategy that can target code, such that a thread is migrated whenever it executes this code. This dissertation also investigates the use of runtime monitoring to enable a runtime system to automatically infer a program's behaviour characteristics, without the need for explicit code annotations. A lightweight runtime behaviour monitoring system is developed, and its effectiveness at choosing the most appropriate core type on which to execute a set of real-world Java benchmarks is examined. Combining explicit behaviour characteristic annotations with those characteristics which are monitored at runtime is also explored. Finally, an initial investigation is performed into the use of behaviour characteristics to improve application performance under a different type of heterogeneous architecture, specifically, a non-uniform memory access (NUMA) architecture. Thread teams are proposed as a method of automatically clustering communicating threads onto the same NUMA node, thereby reducing data access overheads. Evaluation of this approach shows that it is effective at improving application performance, if the application's threads can be partitioned across the available NUMA nodes of a system. The findings of this work demonstrate that a runtime system with a homogeneous virtual machine interface can reduce the challenge of application development for HMA processors, whilst still being able to exploit such a processor by taking program behaviour into account

    More than Mere Numbers: The Impact of Lethal Control on the Social Stability of a Top-Order Predator

    Get PDF
    Population control of socially complex species may have profound ecological implications that remain largely invisible if only their abundance is considered. Here we discuss the effects of control on a socially complex top-order predator, the dingo (Canis lupus dingo). Since European occupation of Australia, dingoes have been controlled over much of the continent. Our aim was to investigate the effects of control on their abundance and social stability. We hypothesized that dingo abundance and social stability are not linearly related, and proposed a theoretical model in which dingo populations may fluctuate between three main states: (A) below carrying capacity and socially fractured, (B) above carrying capacity and socially fractured, or (C) at carrying capacity and socially stable. We predicted that lethal control would drive dingoes into the unstable states A or B, and that relaxation of control would allow recovery towards C. We tested our predictions by surveying relative abundance (track density) and indicators of social stability (scent-marking and howling) at seven sites in the arid zone subject to differing degrees of control. We also monitored changes in dingo abundance and social stability following relaxation and intensification of control. Sites where dingoes had been controlled within the previous two years were characterized by low scent-marking activity, but abundance was similar at sites with and without control. Signs of social stability steadily increased the longer an area was allowed to recover from control, but change in abundance did not follow a consistent path. Comparison of abundance and stability among all sites and years demonstrated that control severely fractures social groups, but that the effect of control on abundance was neither consistent nor predictable. Management decisions involving large social predators must therefore consider social stability to ensure their conservation and ecological functioning

    Building consensus around the assessment and interpretation of Symbiodiniaceae diversity

    Get PDF
    Within microeukaryotes, genetic variation and functional variation sometimes accumulate more quickly than morphological differences. To understand the evolutionary history and ecology of such lineages, it is key to examine diversity at multiple levels of organization. In the dinoflagellate family Symbiodiniaceae, which can form endosymbioses with cnidarians (e.g., corals, octocorals, sea anemones, jellyfish), other marine invertebrates (e.g., sponges, molluscs, flatworms), and protists (e.g., foraminifera), molecular data have been used extensively over the past three decades to describe phenotypes and to make evolutionary and ecological inferences. Despite advances in Symbiodiniaceae genomics, a lack of consensus among researchers with respect to interpreting genetic data has slowed progress in the field and acted as a barrier to reconciling observations. Here, we identify key challenges regarding the assessment and interpretation of Symbiodiniaceae genetic diversity across three levels: species, populations, and communities. We summarize areas of agreement and highlight techniques and approaches that are broadly accepted. In areas where debate remains, we identify unresolved issues and discuss technologies and approaches that can help to fill knowledge gaps related to genetic and phenotypic diversity. We also discuss ways to stimulate progress, in particular by fostering a more inclusive and collaborative research community. We hope that this perspective will inspire and accelerate coral reef science by serving as a resource to those designing experiments, publishing research, and applying for funding related to Symbiodiniaceae and their symbiotic partnerships.journal articl

    Building consensus around the assessment and interpretation of Symbiodiniaceae diversity

    Get PDF
    Within microeukaryotes, genetic variation and functional variation sometimes accumulate more quickly than morphological differences. To understand the evolutionary history and ecology of such lineages, it is key to examine diversity at multiple levels of organization. In the dinoflagellate family Symbiodiniaceae, which can form endosymbioses with cnidarians (e.g., corals, octocorals, sea anemones, jellyfish), other marine invertebrates (e.g., sponges, molluscs, flatworms), and protists (e.g., foraminifera), molecular data have been used extensively over the past three decades to describe phenotypes and to make evolutionary and ecological inferences. Despite advances in Symbiodiniaceae genomics, a lack of consensus among researchers with respect to interpreting genetic data has slowed progress in the field and acted as a barrier to reconciling observations. Here, we identify key challenges regarding the assessment and interpretation of Symbiodiniaceae genetic diversity across three levels: species, populations, and communities. We summarize areas of agreement and highlight techniques and approaches that are broadly accepted. In areas where debate remains, we identify unresolved issues and discuss technologies and approaches that can help to fill knowledge gaps related to genetic and phenotypic diversity. We also discuss ways to stimulate progress, in particular by fostering a more inclusive and collaborative research community. We hope that this perspective will inspire and accelerate coral reef science by serving as a resource to those designing experiments, publishing research, and applying for funding related to Symbiodiniaceae and their symbiotic partnerships
    corecore